Collaboration and meeting annotation

ABSTRACT

Various aspects of the subject technology relate to a system that may include receiving contents of a correspondence, the contents comprising at least one of audio data, text data, and presentation data. A textual format of the contents is generated. Terms included in the textual format of the contents are associated with participants of the correspondence and timestamps. An engagement rate of each of the participants is determined based on associating the terms with the participants and the timestamps. Frequencies of occurrences for the terms included in the textual format of the contents are determined. A focus point of the correspondence is identified based on the determined frequencies of occurrences for the terms. A summary of the correspondence that includes the focus point of the correspondence, the engagement rate for each of the participants of the correspondence, and a time duration over which the correspondence occurs is provided for display.

BACKGROUND Field

The present disclosure generally relates to visualization and annotationof the contents of meetings.

Description of the Related Art

Meetings are a necessary part of businesses and allow for numerouspeople to share and collaborate toward solving a common problem. Takingnotes and summarizing the contents of meetings may be an inefficient useof time and allows for the introduction of personal bias, as the notetaker may choose to exclude some information from the record or may haveinaccurately recorded. Additionally, dissemination of the notes oftentakes place only in a summarized form, preventing deeper context frombeing shared to those who were not in the meeting.

SUMMARY

The subject technology includes receiving contents of a correspondence,the contents comprising at least one of audio data, text data, andpresentation data. A textual format of the contents is generated. Termsincluded in the textual format of the contents are associated withparticipants of the correspondence and timestamps. An engagement rate ofeach of the participants is determined based on associating the termswith the participants and the timestamps. Frequencies of occurrences forthe terms included in the textual format of the contents are determined.A focus point of the correspondence is identified based on thedetermined frequencies of occurrences for the terms. A summary of thecorrespondence that includes the focus point of the correspondence, theengagement rate for each of the participants of the correspondence, anda time duration over which the correspondence occur is provided fordisplay.

According to one embodiment of the present disclosure, acomputer-implemented method is provided for automated quantitativeassessment of text complexity. The method includes receiving contents ofa correspondence, the contents comprising at least one of audio data,text data, and presentation data. A textual format of the contents isgenerated. Terms included in the textual format of the contents areassociated with participants of the correspondence and timestamps. Anengagement rate of each of the participants is determined based onassociating the terms with the participants and the timestamps.Frequencies of occurrences for the terms included in the textual formatof the contents are determined. A focus point of the correspondence isidentified based on the determined frequencies of occurrences for theterms. A summary of the correspondence that includes the focus point ofthe correspondence, the engagement rate for each of the participants ofthe correspondence, and a time duration during which the correspondenceoccurs.

According to one embodiment of the present disclosure, a non-transitorycomputer readable storage medium is provided including instructionsthat, when executed by one or more processors, cause the one or moreprocessors to receive contents of a correspondence, the contentscomprising at least one of audio data, text data, and presentation data.A textual format of the contents is generated. Terms included in thetextual format of the contents are associated with participants of thecorrespondence and timestamps. An engagement rate of each of theparticipants is determined based on associating the terms with theparticipants and the timestamps. Frequencies of occurrences for theterms included in the textual format of the contents are determined. Afocus point of the correspondence is identified based on the determinedfrequencies of occurrences for the terms. A summary of thecorrespondence that includes the focus point of the correspondence, theengagement rate for each of the participants of the correspondence, anda time duration over which the correspondence occur is provided fordisplay.

It is understood that other configurations of the subject technologywill become readily apparent to those skilled in the art from thefollowing detailed description, wherein various configurations of thesubject technology are shown and described by way of illustration. Aswill be realized, the subject technology is capable of other anddifferent configurations and its several details are capable ofmodification in various other respects, all without departing from thescope of the subject technology. Accordingly, the images and detaileddescription are to be regarded as illustrative in nature and not asrestrictive.

BRIEF DESCRIPTION OF THE IMAGES

The accompanying images, which are included to provide furtherunderstanding and are incorporated in and constitute a part of thisspecification, illustrate disclosed embodiments and together with thedescription serve to explain the principles of the disclosedembodiments. In the images:

FIG. 1 illustrates an example network environment according to exampleaspects of the subject technology.

FIGS. 2A and 2B illustrate a flowchart illustrating an example process200 for extracting contents of meetings from a meeting applicationaccording to example aspects of the subject technology.

FIGS. 3A and 3B illustrate a flowchart illustrating an example process300 for annotating and aggregating meetings according to example aspectsof the subject technology.

FIG. 4 illustrates a flowchart illustrating an example process 400 forextracting contents of meetings from meeting application according toexample aspects of the subject technology.

FIG. 5 illustrates a flowchart illustrating an example process 500 forannotating and aggregating contents of meeting according to exampleaspects of the subject technology.

FIG. 6 conceptually illustrates an example electronic system 600 withwhich some implementations of the subject technology can be implemented

DETAILED DESCRIPTION

The detailed description set forth below is intended as a description ofvarious configurations of the subject technology and is not intended torepresent the only configurations in which the subject technology may bepracticed. The appended drawings are incorporated herein and constitutea part of the detailed description. The detailed description may includespecific details for the purpose of providing a thorough understandingof the subject technology. However, the subject technology is notlimited to the specific details set forth herein and may be practicedwithout these specific details. In some instances, structures andcomponents are shown in block diagram form in order to avoid obscuringthe concepts of the subject technology.

The subject technology provides systems and methods for annotating andvisualizing contents of meetings. Often times, a participant of ameeting is assigned a role of a note taker acting predominately as apassive participant and a scribe. This may be an inefficient use of timeand may introduce personal bias as not all the information discussed inthe meeting are accurately recorded. The subject technology providessystems and methods for tracking meetings, annotating contents ofmeetings, analyzing the annotated contents of the meetings, andvisualizing trends in an organization based on the analysis.

Further, all meetings held in the entity may be recorded and aggregatedaccording to the subject technology across a plurality of communicationapplications. For example, the subject technology provides formanagement team of the entity to gain visibility into how the employeesare spending their time: who is contributing most during meetings, whois attending the most meetings, and what types of meetings are taking upthe most amount of time from a resource allocation perspective.

FIG. 1 illustrates an example network environment 100 for creating andmanaging electronic calendar events in accordance with the subjecttechnology. The network environment 100 includes computing devices 102,104, and 106, a recording device 108, and servers 110 and 114. In someaspects, the network environment 100 can have more or fewer computingdevices (e.g., 102-106), microphone (e.g., 108), and/or servers (e.g.,110 and 114) than those shown in FIG. 1.

Each of the computing devices 102, 104, and 106 and a recording device108 can represent various forms of processing devices that have aprocessor, a memory, and communications capability. The computingdevices 102, 104, and 106 and the recording device 108 may communicatewith each other, with the servers 110 and 114, and/or with other systemsand devices not shown in FIG. 1. By way of non-limiting example,processing devices can include a desktop computer, a laptop computer, ahandheld computer, a personal digital assistant (PDA), a cellulartelephone, a network appliance, a camera, a smart phone, an enhancedgeneral packet radio service (EGPRS) mobile phone, a media player, anavigation device, an email device, a game console, or a combination ofany of these processing devices or other processing devices.

Each of the computing devices 102, 104, and 106 and the recording device108 may be provided with one or more meeting software applications. Thecomputing devices 102, 104, and 106 and the recording device 108 mayexecute computer instructions to run the meeting software applications.The users of the respective computing devices may utilize the meetingsoftware applications to communicate with each other and/or with userswho are not depicted in FIG. 1. The meeting software applications maytransmit and receive text files and audio files to server 110 (e.g.,annotation system) via network 118. The annotation system may transmitdata corresponding to the annotation result of the content of themeeting to server 114 (e.g., aggregation system) via network 118. Insome aspects, the meeting software applications may include annotationcapability. In such a case, each of the computing devices 102, 104, and106 and the recording device 108 may communicate with the server 114 viathe network 118 to provide the annotation result of the contents of themeeting.

The network 108 can be a computer network such as, for example, a localarea network (LAN), wide area network (WAN), the Internet, a cellularnetwork, or a combination thereof connecting any number of mobileclients, fixed clients, and servers. Further, the network 108 caninclude, but is not limited to, any one or more of the following networktopologies, including a bus network, a star network, a ring network, amesh network, a star-bus network, tree or hierarchical network, and thelike. In some aspects, communication between each client (e.g.,computing devices 102, 104, and 106) and server (e.g., server 110) canoccur via a virtual private network (VPN), Secure Shell (SSH) tunnel,Secure Socket Layer (SSL) communication, or other secure networkconnection. In some aspects, network 108 may further include a corporatenetwork (e.g., intranet) and one or more wireless access points.

Each of the servers 110 and 114 may represent a single computing devicesuch as a computer server that includes a processor and a memory. Theprocessor may execute computer instructions stored in memory. Theservers 110 and 114 may be geographically collocated and/or the servers110 and 114 may be disparately located. In some aspects, the servers 110and 114 may collectively represent a computer server. In some aspects,the servers 110 and 114 may each be implemented using multipledistributed computing devices. The servers 110 and 114 are configured tocommunicate with client applications (e.g., electronic messagingapplications, calendar applications, etc.) on client devices (e.g., thecomputing devices 102, 104, and 106) via the network 118.

The server 110 may be an annotation system (e.g., voice-to-text, etc.)that manages message exchanges (e.g., text format or audio format)between participants of the meeting. The server 110 may include a datastore 112 for storing, for example, an n-gram database. For example,when the contents of a meeting include a jargon-heavy discussion, one ormore voice-to-text algorithms may be invoked simultaneously and theresults are aggregated by searching through the n-gram database to findlikely pairs of words. In some aspects, the data store 112 may store,for example, a local dictionary. For example, entities may assign alocal dictionary to aid translating meaning for common terms to anindustry specific meaning. The annotation system produces a textualoutput of audio files of the contents of the meetings using, forexample, natural language processing.

The server 114 may be an aggregation system that analyzes the textualoutput received from the annotation system (e.g., server 110). Theaggregation system may allow the textual representations of the contentsof the meeting to be further analyzed. The server 114 may include a datastore 116 for storing, for example, participant information and hardwareinformation of the computing devices and the recording device usedduring the meeting.

A textual output may be associated with a unique identifier for acomputing device or a recording device based on the hardwareinformation. Further, a participant's unique user identifier isassociated to the textual output based on a name of a speaker providedfor display by the meeting software applications. In some aspects, aparticipant may be identified based on voice recognition. Furthermore, atimestamp may be associated with the textual output. In some aspects, anassociation may be made with the user identifier, the device identifier,and the timestamp.

In some aspects, textual outputs are analyzed to establish a chronologyof introduced concepts and for plotting the development of an idea byparsing each textual phrase, isolating sequence of one of more terms,and storing a timestamp of when each sequence occurs. For example, newn-grams may be identified when analyzing the textual output, and theaggregation system may update n-grams stored in the data store of theserver 110 when a predetermined number of occurrences of a particularnew n-gram are observed. A counter associated with each isolatedsequence of the terms in the textual output is incremented. Thefrequency of the occurrences of the sequences across textual output ofthe contents of the meeting is determined based on the counter and thetimestamp.

Contribution of each of the participants of the meeting is determinedbased on the frequency of appearance of the user identifier or deviceidentifier. When a request is received, the aggregation system maygenerate a graphical representation of contribution of each individual.The aggregation system may also alert an administrator when a newconcept is detected during the analysis of the textual output. Theaggregation system may alert the administrator by providing visualand/or audio notifications for display and/or for audio.

In some aspects, the aggregation system may be integrated with theannotation system. In some aspects, the annotation system may also beincluded in the meeting software applications. In one or moreimplementations, the computing device 102, the computing device 104, thecomputing device 106, the recording device 108, the server 110, or theserver 114 may be, or may include all or part of, the electronic systemcomponents that are discussed below with respect to FIG. 6.

FIGS. 2A and 2B show a flowchart illustrating an example process 200 forextracting contents of meetings from a meeting application according toexample aspects of the subject technology. In one example, the variousblocks of example process 200 are described herein with reference to thecomponents and/or processes described herein. The one or more of theblocks of process 200 may be implemented, for example, by one or morecomponents or processors of server 110 and/or server 114 of FIG. 1. Insome implementations, one or more of the blocks may be implemented apartfrom other blocks, and by one or more different processors orcontrollers. In one example, the blocks of example process 200 aredescribed as occurring in serial, or linearly. However, multiple blocksof example process 200 may occur in parallel. In addition, the blocks ofexample process 200 need not be performed in the order shown and/or oneor more of the blocks of example process 200 need not be performed.

Meetings may be in-person face-to-face meetings. In some aspects,meetings may be virtual meetings conducted through meeting applicationsin which the participants of the meetings correspond with one anothervia a telephone line, a video stream, or messaging application. In someother aspects, meetings may include email exchanges. Meetings may alsoinclude slide presentations shared, for example via web browsers.

At block 210 of FIG. 2A, processes on client devices (e.g., computingdevices 102, 104, 106 and recording device 108) are enumerated. Theprocesses may include any processes performed by applications andoperating systems of the client device. At block 220, it is determinedwhether a process in the enumerated processes is related to a meetingapplication process. When the process is related to the meetingapplication process (Block 220=YES), process 200 proceeds to block 230in which codes for extracting contents (e.g., audio data, text data,presentation data) of a meeting are injected in the meeting applicationprocess. On the other hand, when the process in the enumerated processesdoes not concern a meeting application process (Block 220=NO), process200 returns to block 210.

Referring to process 230 in FIG. 2B, when audio data is received from arecording mechanism of computing device (e.g., microphone on computingdevices 102, 104, 106) or recording device (e.g., standalone microphone,telephone) during a meeting at block 232, process 230 proceeds to block234 in which the audio data is transmitted to a speech-to-textapplication. The audio data may be transmitted in response to anapplication programming interface (API) request of the codes included inthe meeting application. At block 236, the audio file is alsotransmitted to the meeting application. In some aspects, block 234 andblock 236 may be performed in parallel.

FIGS. 3A and 3B show a flowchart illustrating an example process 300 forannotating and aggregating meetings according to example aspects of thesubject technology. In one example, the various blocks of exampleprocess 300 are described herein with reference to the components and/orprocesses described herein. The one or more of the blocks of process 300may be implemented, for example, by one or more components or processorsof server 110 and/or server 114 of FIG. 1. In some implementations, oneor more of the blocks may be implemented apart from other blocks, and byone or more different processors or controllers. Further In one example,the blocks of example process 300 are described as occurring in serial,or linearly. However, multiple blocks of example process 300 may occurin parallel. In addition, the blocks of example process 300 need not beperformed in the order shown and/or one or more of the blocks of exampleprocess 300 need not be performed.

At block 310 of FIG. 3A, an annotation system receives contents ofcorrespondence (e.g., meeting, telephone conversation, text messaging,etc.). The annotation system may receive the contents of correspondence.The contents of correspondence may be audio data received via arecording device. In some aspects, the contents of correspondence may betext data exchanged among participants of a meeting via a messagingapplication (e.g., instant messaging application, chat application,email application). In some other aspects, the contents ofcorrespondence may be presentation data of any visual presentation(e.g., slide presentation, document file, images) shared during ameeting.

At block 320, the annotation system generates textual format of thecontents of correspondence. For example, a speech-to-text process isperformed on the received audio data to generate the textual format ofthe contents. The speech-to-text process is described in detail withrespect to FIG. 4. In some aspects, an optical character recognition(OCR) process may be performed on the received presentation data togenerate textual format of the contents.

At block 330, the annotation system determines frequencies ofoccurrences of the terms included in the textual format of the contents.The annotation system may store in the data store (e.g., data store 112)a table including the terms from the textual format of thecorrespondence. In some aspects, the annotation system may maintain anaccumulative table of terms from previous correspondence. The table mayalso include a counter for each of the terms. For example, theannotation system increments the counter for a term when the termappears in the contents of correspondence. The annotation system maydetermine the frequencies of occurrences of the terms based on thecounters.

At block 340, the annotation system identifies a focus point of thecorrespondence based on the terms used and the frequencies of theoccurrences of the terms during the correspondence. For example, whenterms “next week,” “training,” and “new hire” have higher frequencies ofoccurrences than other terms in the correspondence, the annotationsystem may identify as the focus point of the meeting as “new hiretraining next week.”

At block 350, the annotation system associates the terms included in thecontents with user identity information of participants and timestampsbased on the contents of correspondence. For example, the contents ofcorrespondence may include the information regarding from whichparticipant the term came and may also include timestamp for when eachof the terms occurred.

Referring to process 352 of FIG. 3B, user information of participants ofthe correspondence is received at block 354. For example, the userinformation may be obtained through user login information of the clientdevice. In some other aspects, user information displayed on a userinterface of a meeting application. For example, the displayed userinterface may be sent to the annotation system as a part of thepresentation data. The annotation system may perform an OCR process onthe user interface to obtain user information of participants. At block356 of FIG. 3B, user identity information of participants are verifiedby looking up the user information on an Active Directory or anorganization chart of an entity. In some aspects, the user identityinformation may include a name or a role in the entity. At block 358,the user identity information is transmitted to the annotation system.

Returning to FIG. 3A, at block 360, the annotation system determines anengagement rate of the participants based on the focus point and theassociation of the terms and participants and timestamps. For example,the annotation system determines that a participant who spoke or typed anumber of times and his/her statement included the terms associated withthe focus point above a predetermined threshold would have a higherengagement rate. On the other hand, a participant who did not speak orspoke fewer times than the other participants during the correspondencewould have a lower engagement rate.

At block 370, an aggregation system provides a summary of thecorrespondence based on the information retrieved from the annotationsystem. For example, the summary may include a list of terms based onthe number of frequencies of occurrence. In some aspects, the summarymay include a report of engagement or involvement of the participants.The summary may also be interactive such that the user interface mayallow an operator to display the desired information.

FIG. 4 shows a flowchart illustrating an example process 400 forextracting contents of meetings from a meeting application according toexample aspects of the subject technology. In one example, the variousblocks of example process 400 are described herein with reference to thecomponents and/or processes described herein. The one or more of theblocks of process 400 may be implemented, for example, by one or morecomponents or processors of server 110 and/or server 114 of FIG. 1. Insome implementations, one or more of the blocks may be implemented apartfrom other blocks, and by one or more different processors orcontrollers. Further In one example, the blocks of example process 400are described as occurring in serial, or linearly. However, multipleblocks of example process 400 may occur in parallel. In addition, theblocks of example process 400 need not be performed in the order shownand/or one or more of the blocks of example process 400 need not beperformed.

At block 410, the annotation system receives audio file as a part of thecontents of correspondence. Audio may be retrieved by a microphone on acomputing device, a standalone microphone, and/or other recordingdevices. The audio file received from the recording devices may be rawaudio files. At block 420A, the annotation system processes the audiofile using a first speech-to-text application to convert the raw audiofile to text files (e.g., textual format of the contents ofcorrespondence). In parallel to block 420A, at block 420B, theannotation system processes the audio file using a second speech-to-textapplication. In some aspects, the first speech-to-text application andthe second speech-to-text application may be different types ofspeech-to-text applications. In some other aspects, the firstspeech-to-text application and the second speech-to-text application maybe the same type of speech-to-text application. The audio file may beprocessed multiple times by the same speech-to-text application.

At block 430, the annotation system identifies discrepancies in the textresults of the first speech-to-text application and the secondspeech-to-text application by comparing the results. The annotationsystem may compare term by term in the results of the firstspeech-to-text application and the second speech-to-text application.When any one of the terms in either result differs from the otherresults, the process proceeds to block 440 in which the discrepanciesare resolved.

At block 440, the annotation system resolves the identifieddiscrepancies. When discrepancies are identified, the annotation systemrefers to a dictionary stored in a data store. The dictionary may be anentity specific dictionary. For example, the dictionary may be a tablestored in a data store. The table may include field-specific jargons. Atblock 450, the annotation system stores the text file of the audio fileafter the discrepancies are resolved.

FIG. 5 shows a flowchart illustrating an example process 500 forannotating and aggregating contents of correspondence (e.g., meeting)according to example aspects of the subject technology. In one example,the various blocks of example process 500 are described herein withreference to the components and/or processes described herein. The oneor more of the blocks of process 500 may be implemented, for example, byone or more components or processors of server 110 and/or server 114 ofFIG. 1. In some implementations, one or more of the blocks may beimplemented apart from other blocks, and by one or more differentprocessors or controllers. Further In one example, the blocks of exampleprocess 500 are described as occurring in serial or linearly. However,multiple blocks of example process 500 may occur in parallel. Inaddition, the blocks of example process 500 need not be performed in theorder shown and/or one or more of the blocks of example process 500 neednot be performed.

At block 510, the annotation system receives an audio file of thecontents of correspondence. The audio files may include audio feed froma telephone, microphones, and the like. At block 510A, the annotationsystem converts the audio file to a text file according to the methodsdescribed in FIG. 4. At block 520, the annotation system receives a textfile of the contents of correspondence. The text files may include textmessages exchanged over a messaging application, email application, andthe like during the meeting. At block 530, the annotation systemreceives a presentation file which includes slides, images, and the likeshared during the meeting. At block 530A, the annotation system extractstexts from the presentation file. For example, the annotation system mayuse an OCR process to extract and convert texts from the presentationfile.

At block 540, the annotation system associates terms in the text filewith the identity of the speaker who made a statement including theterm. The speaker may be a person who typed when the term's source is atext file, and may be a presenter when the term's source is apresentation file. As described above, the identity of the speaker maybe identified based on the information included in the contents ofcorrespondence, or based on the information determined based on the useridentity information included in the received files.

At block 550, the annotation system determines time duration andtimestamp. For example, the annotation system determines the timeduration of the meeting based on the start and end of the meetingsession on the meeting application. In some aspects, the time durationmay be based on when the first audio file, text file, or presentationfile was received. The annotation system also determines timestamp foreach of the audio file, text file, and/or presentation file.

At block 560, the annotation system transmits data of the contents ofthe meeting to the aggregate system. For example, the data includes thetext file of the raw data (e.g., audio file, text file, and presentationfile), the association information related to the user identity, and thedetermination information of the time duration and timestamps. Theaggregate system generates a summary of the meeting based on thetransmitted data.

The disclosed technology provides retrofitting to existing structures.In some aspects, a unique feature of the subject technology is that theannotation application with the features of the subject technology sitsat a layer above that allows disparate meeting applications or chatapplications to work together. The aggregation system may be of aconfiguration (Apache, IIS, etc.) which receives a POST request with allof the parameters, including the extracted text and user identityinformation. All of the aggregated data is used and data-minedautomatically based on the subject technology. Concepts are extractedusing natural language processing to identify important text andkeywords being used across the entity. New ideas are automaticallytimestamped and marked to allow for strong defense of intellectualproperty. In some aspects, as data is received from the annotationsystem, the aggregation system may index the terms and the relatedinformation to track the progression and development of a concept. Forexample, the first time that “Flying Car” is mentioned in the entity isnoted and the later mentions of that concept are stored as relatedentries.

For example, as data flows in, the management team can identifyimportant concepts which are beginning to be used more regularlythroughout the entity. For example, if a particular bug in a softwareapplication produces “Error 123”, customer support calls where usersmention “Error 123” will be indexed automatically, so that a productmanagement team can be alerted after a predetermined number of mentionsacross the customer support calls. Accordingly, the error can beescalated and given attention as needed in a timely manner.

While the error is being investigated, the product management team mayalso be presented with which employees are being tasked with working onresolution of the error based on what meetings are created and whichemployees are referring to the error during the meeting. This simplifiesresource management and ensures that high priority issues are taken careof efficiently.

In some aspects, for example, during a daily stand-up meeting, engineersdiscuss an idea to improve efficiency by replacing “Component X” with anew design, “Design Y.” Every mention of “Design Y” can be automaticallyattributed and correlated using the subject technology, giving ahistorical view into the development of the idea, who was involved, andwhat needs to be covered from an Intellectual Property perspective.Insight into the quantity of resources being devoted to particularconcepts and how much effort is spent discussing particular features mayalso be readily available for the management team.

FIG. 6 conceptually illustrates an example electronic system 600 withwhich some implementations of the subject technology can be implemented.Electronic system 600 can be a computer, phone, personal digitalassistant (PDA), or any other sort of electronic device. Such anelectronic system includes various types of computer readable media andinterfaces for various other types of computer readable media.Electronic system 600 includes a bus 608, processing unit(s) 612, asystem memory 604, a read-only memory (ROM) 610, a permanent storagedevice 502, an input device interface 614, an output device interface606, and a network interface 616.

Bus 608 collectively represents all system, peripheral, and chipsetbuses that communicatively connect the numerous internal devices ofelectronic system 600. For instance, bus 608 communicatively connectsprocessing unit(s) 612 with ROM 610, system memory 604, and permanentstorage device 602.

From these various memory units, processing unit(s) 612 retrievesinstructions to execute and data to process in order to execute theprocesses of the subject disclosure. The processing unit(s) can be asingle processor or a multi-core processor in different implementations.

ROM 610 stores static data and instructions that are needed byprocessing unit(s) 612 and other modules of the electronic system.Permanent storage device 602, on the other hand, is a read-and-writememory device. This device is a non-volatile memory unit that storesinstructions and data even when electronic system 600 is off. Someimplementations of the subject disclosure use a mass-storage device (forexample, a magnetic or optical disk, or flash memory) as permanentstorage device 602.

Other implementations use a removable storage device (for example, afloppy disk, flash drive) as permanent storage device 602. Likepermanent storage device 602, system memory 604 is a read-and-writememory device. However, unlike storage device 602, system memory 604 isa volatile read-and-write memory, such as a random access memory. Systemmemory 604 stores some of the instructions and data that the processorneeds at runtime. In some implementations, the processes of the subjectdisclosure are stored in system memory 604, permanent storage device602, or ROM 610. For example, the various memory units includeinstructions for displaying graphical elements and identifiersassociated with respective applications, receiving a predetermined userinput to display visual representations of shortcuts associated withrespective applications, and displaying the visual representations ofshortcuts. From these various memory units, processing unit(s) 612retrieves instructions to execute and data to process in order toexecute the processes of some implementations.

Bus 608 also connects to input and output device interfaces 614 and 606.Input device interface 614 enables the user to communicate informationand select commands to the electronic system. Input devices used withinput device interface 614 include, for example, alphanumeric keyboardsand pointing devices (also called “cursor control devices”). Outputdevice interfaces 606 enables, for example, the display of imagesgenerated by the electronic system 600. Output devices used with outputdevice interface 606 include, for example, printers and display devices,for example, cathode ray tubes (CRT) or liquid crystal displays (LCD).Some implementations include devices, for example, a touchscreen, thatfunction as both input and output devices.

Finally, as shown in FIG. 6, bus 608 also couples electronic system 600to a network (not shown) through a network interface 616. In thismanner, the computer can be a part of a network of computers (forexample, a LAN, a WAN, or an Intranet, or a network of networks, forexample, the Internet). Any or all components of electronic system 600can be used in conjunction with the subject disclosure.

Many of the above-described features and applications are implemented assoftware processes that are specified as a set of instructions recordedon a computer readable storage medium (also referred to as computerreadable medium). When these instructions are executed by one or moreprocessing unit(s) (e.g., one or more processors, cores of processors,or other processing units), they cause the processing unit(s) to performthe actions indicated in the instructions. Examples of computer readablemedia include, but are not limited to, magnetic media, optical media,electronic media, etc. The computer readable media does not includecarrier waves and electronic signals passing wirelessly or over wiredconnections.

In this specification, the term “software” is meant to include, forexample, firmware residing in read-only memory or other form ofelectronic storage, or applications that may be stored in magneticstorage, optical, solid state, etc., which can be read into memory forprocessing by a processor. Also, in some implementations, multiplesoftware aspects of the subject disclosure can be implemented assub-parts of a larger program while remaining distinct software aspectsof the subject disclosure. In some implementations, multiple softwareaspects can also be implemented as separate programs. Finally, anycombination of separate programs that together implement a softwareaspect described here is within the scope of the subject disclosure. Insome implementations, the software programs, when installed to operateon one or more electronic systems, define one or more specific machineimplementations that execute and perform the operations of the softwareprograms.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, declarative orprocedural languages, and it can be deployed in any form, including as astandalone program or as a module, component, subroutine, object, orother unit suitable for use in a computing environment. A computerprogram may, but need not, correspond to a file in a file system. Aprogram can be stored in a portion of a file that holds other programsor data (e.g., one or more scripts stored in a markup languagedocument), in a single file dedicated to the program in question, or inmultiple coordinated files (e.g., files that store one or more modules,sub programs, or portions of code). A computer program can be deployedto be executed on one computer or on multiple computers that are locatedat one site or distributed across multiple sites and interconnected by acommunication network.

These functions described above can be implemented in digital electroniccircuitry, in computer software, firmware, or hardware. The techniquescan be implemented using one or more computer program products.Programmable processors and computers can be included in or packaged asmobile devices. The processes and logic flows can be performed by one ormore programmable processors and by one or more programmable logiccircuitry. General and special purpose computing devices and storagedevices can be interconnected through communication networks

Some implementations include electronic components, for example,microprocessors, storage, and memory that store computer programinstructions in a machine-readable or computer-readable medium(alternatively referred to as computer-readable storage media,machine-readable media, or machine-readable storage media). Someexamples of such computer-readable media include RAM, ROM, read-onlycompact discs (CD-ROM), recordable compact discs (CD-R), rewritablecompact discs (CD-RW), read-only digital versatile discs (e.g., DVD-ROM,dual-layer DVD-ROM), a variety of recordable/rewritable DVDs (e.g.,DVD-RAM, DVD-RW, DVD+RW, etc.), flash memory (e.g., SD cards, mini-SDcards, micro-SD cards, etc.), magnetic or solid state hard drives,read-only and recordable Blu-Ray® discs, ultra-density optical discs,any other optical or magnetic media, and floppy disks. Thecomputer-readable media can store a computer program that is executableby at least one processing unit and includes sets of instructions forperforming various operations. Examples of computer programs or computercode include machine code, for example, is produced by a compiler, andfiles including higher-level code that are executed by a computer, anelectronic component, or a microprocessor using an interpreter.

While the above discussion primarily refers to microprocessor ormulti-core processors that execute software, some implementations areperformed by one or more integrated circuits, for example, applicationspecific integrated circuits (ASICs) or field programmable gate arrays(FPGAs). In some implementations, such integrated circuits executeinstructions that are stored on the circuit itself.

As used in this specification and any claims of this application, theterms “computer”, “server”, “processor”, and “memory” all refer toelectronic or other technological devices. These terms exclude people orgroups of people. For the purposes of the specification, the termsdisplay or displaying means displaying on an electronic device. As usedin this specification and any claims of this application, the terms“computer readable medium” and “computer readable media” are entirelyrestricted to tangible, physical objects that store information in aform that is readable by a computer. These terms exclude any wirelesssignals, wired download signals, and any other ephemeral signals.

To provide for interaction with a user, implementations of the subjectmatter described in this specification can be implemented on a computerhaving a display device, e.g., a CRT or LCD monitor, for displayinginformation to the user and a keyboard and a pointing device, e.g., amouse or a trackball, by which the user can provide input to thecomputer. Other kinds of devices can be used to provide for interactionwith a user as well; for example, feedback provided to the user can beany form of sensory feedback, e.g., visual feedback, auditory feedback,or tactile feedback; and input from the user can be received in anyform, including acoustic, speech, or tactile input. In addition, acomputer can interact with a user by sending documents to and receivingdocuments from a device that is used by the user; for example, bysending web pages to a web browser on a user's client device in responseto requests received from the web browser.

Embodiments of the subject matter described in this specification can beimplemented in a computing system that includes a back end component,e.g., as a data server, or that includes a middleware component, e.g.,an application server, or that includes a front end component, e.g., aclient computer having a graphical user interface or a web browserthrough which a user can interact with an implementation of the subjectmatter described in this specification, or any combination of one ormore such back end, middleware, or front end components. The componentsof the system can be interconnected by any form or medium of digitaldata communication, e.g., a communication network. Examples ofcommunication networks include a local area network (LAN) and a widearea network (WAN), an inter-network (e.g., the Internet), andpeer-to-peer networks (e.g., ad hoc peer-to-peer networks).

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other. In someembodiments, a server transmits data (e.g., an HTML page) to a clientdevice (e.g., for purposes of displaying data to and receiving userinput from a user interacting with the client device). Data generated atthe client device (e.g., a result of the user interaction) can bereceived from the client device at the server.

It is understood that any specific order or hierarchy of steps in theprocesses disclosed is an illustration of example approaches. Based upondesign preferences, it is understood that the specific order orhierarchy of steps in the processes may be rearranged, or that allillustrated steps be performed. Some of the steps may be performedsimultaneously. For example, in certain circumstances, multitasking andparallel processing may be advantageous. Moreover, the separation ofvarious system components in the embodiments described above should notbe understood as requiring such separation in all embodiments, and itshould be understood that the described program components and systemscan generally be integrated together in a single software product orpackaged into multiple software products.

The previous description is provided to enable any person skilled in theart to practice the various aspects described herein. Variousmodifications to these aspects will be readily apparent to those skilledin the art, and the generic principles defined herein may be applied toother aspects. Thus, the claims are not intended to be limited to theaspects shown herein, but are to be accorded the full scope consistentwith the language claims, where reference to an element in the singularis not intended to mean “one and only one” unless specifically sostated, but rather “one or more”. Unless specifically stated otherwise,the term “some” refers to one or more. Pronouns in the masculine (e.g.,his) include the feminine and neuter gender (e.g., her and its) and viceversa. Headings and subheadings, if any, are used for convenience onlyand do not limit the subject disclosure.

As used herein, the phrase “at least one of” preceding a series ofitems, with the term “and” or “or” to separate any of the items,modifies the list as a whole, rather than each member of the list (i.e.,each item). The phrase “at least one of” does not require selection ofat least one of each item listed; rather, the phrase allows a meaningthat includes at least one of any one of the items, and/or at least oneof any combination of the items, and/or at least one of each of theitems. By way of example, the phrases “at least one of A, B, and C” or“at least one of A, B, or C” each refer to only A, only B, or only C;any combination of A, B, and C; and/or at least one of each of A, B, andC.

To the extent that the term “include,” “have,” or the like is used inthe description or the claims, such term is intended to be inclusive ina manner similar to the term “comprise” as “comprise” is interpretedwhen employed as a transitional word in a claim. The word “exemplary” isused herein to mean “serving as an example, instance, or illustration.”Any embodiment described herein as “exemplary” is not necessarily to beconstrued as preferred or advantageous over other embodiments.

A reference to an element in the singular is not intended to mean “oneand only one” unless specifically stated, but rather “one or more.” Allstructural and functional equivalents to the elements of the variousconfigurations described throughout this disclosure that are known orlater come to be known to those of ordinary skill in the art areexpressly incorporated herein by reference and intended to beencompassed by the subject technology. Moreover, nothing disclosedherein is intended to be dedicated to the public regardless of whethersuch disclosure is explicitly recited in the above description.

While this specification contains many specifics, these should not beconstrued as limitations on the scope of what may be claimed, but ratheras descriptions of particular implementations of the subject matter.Certain features that are described in this specification in the contextof separate embodiments can also be implemented in combination in asingle embodiment. Conversely, various features that are described inthe context of a single embodiment can also be implemented in multipleembodiments separately or in any suitable subcombination. Moreover,although features may be described above as acting in certaincombinations and even initially claimed as such, one or more featuresfrom a claimed combination can in some cases be excised from thecombination, and the claimed combination may be directed to asubcombination or variation of a subcombination.

Phrases such as an aspect, the aspect, another aspect, some aspects, oneor more aspects, an implementation, the implementation, anotherimplementation, some implementations, one or more implementations, anembodiment, the embodiment, another embodiment, some embodiments, one ormore embodiments, a configuration, the configuration, anotherconfiguration, some configurations, one or more configurations, thesubject technology, the disclosure, the present disclosure, othervariations thereof and alike are for convenience and do not imply that adisclosure relating to such phrase(s) is essential to the subjecttechnology or that such disclosure applies to all configurations of thesubject technology. A disclosure relating to such phrase(s) may apply toall configurations, or one or more configurations. A disclosure relatingto such phrase(s) may provide one or more examples. A phrase such as anaspect or some aspects may refer to one or more aspects and vice versa,and this applies similarly to other foregoing phrases.

All structural and functional equivalents to the elements of the variousaspects described throughout this disclosure that are known or latercome to be known to those of ordinary skill in the art are expresslyincorporated herein by reference and intended to be encompassed by thesubject technology. Moreover, nothing disclosed herein is intended to bededicated to the public regardless of whether such disclosure isexplicitly recited in the above description. No claim element is to beconstrued under the provisions of 35 U.S.C. § 112, sixth paragraph,unless the element is expressly recited using the phrase “means for” or,in the case of a method claim, the element is recited using the phrase“step for.” Furthermore, to the extent that the term “include”, “have”,or the like is used in the description or the claims, such term isintended to be inclusive in a manner similar to the term “comprise” as“comprise” is interpreted when employed as a transitional word in aclaim.

What is claimed is:
 1. A computer-implemented method, comprising:receiving contents of a meeting, the contents comprising at least one ofaudio data, text data, and presentation data; generating a textualformat of the contents of the meeting; determining frequencies ofoccurrences for terms included in the textual format of the contents;determining a trending term based on the frequencies of occurrences;associating terms included in the textual format of the contents withparticipants of the meeting and timestamps; determining an engagementrate of each of the participants of the meeting based on the determinedfrequencies of occurrences and the association of the terms with theparticipants of the meeting and the timestamps; and displaying a summaryof the meeting, wherein the summary comprises the trending term, theengagement rate for each of the participants of the meeting, and a timeduration over which the meeting occurred.
 2. The computer-implementedmethod of claim 1, further comprising: displaying a notification whenone or more terms of the terms included in the textual format areidentified as satisfying a threshold frequency of occurrences.
 3. Thecomputer-implemented method of claim 1, further comprising: identifyinga focus point of the meeting based on the determined frequencies ofoccurrences for the terms.
 4. The computer-implemented method of claim3, wherein the focus point is determined based on a set of terms thatsatisfies predetermined frequencies of occurrences.
 5. Thecomputer-implemented method of claim 4, wherein the engagement rateincreases when the participant is associated with the set of terms thatsatisfies predetermined frequencies of occurrences.
 6. Thecomputer-implemented method of claim 1, wherein the trending term is afirst term having a highest frequency of occurrences.
 7. Thecomputer-implemented method of claim 6, wherein the trending term isfurther determined based on the frequencies of occurrences over apredetermined period of time.
 8. A system comprising: one or moreprocessors; a non-transitory computer-readable storage medium coupled tothe one or more processors, the non-transitory computer-readable storagemedium including instructions that, when executed by the one or moreprocessors, cause the one or more processors to: receive contents of acorrespondence, the contents comprising at least one of audio data, textdata, and presentation data; generate a textual format of the contentsof the correspondence; associate terms included in the textual format ofthe contents with participants of the correspondence and timestamps;determine an engagement rate of each of the participants of thecorrespondence based on associating the terms with the participants andthe timestamps; determine frequencies of occurrences for the termsincluded in the textual format of the contents; identify a focus pointof the correspondence based on the determined frequencies of occurrencesfor the terms; and provide for display a summary of the correspondence,wherein the summary comprises the focus point of the correspondence, theengagement rate for each of the participants of the correspondence, anda time duration over which the correspondence occurs.
 9. The system ofclaim 8, further comprising providing for display a notification whenone or more terms of the terms included in the textual format areidentified as satisfying a threshold frequency of occurrences.
 10. Thesystem of claim 8, further comprising determining a trending term basedon the frequencies of occurrences.
 11. The system of claim 10, whereinthe trending term is a first term having a highest frequency ofoccurrences.
 12. The system of claim 11, wherein the trending term isfurther determined based on the frequencies of occurrences over apredetermined period of time
 13. The system of claim 8, wherein thefocus point is determined based on a set of terms that satisfiespredetermined frequencies of occurrences.
 14. The system of claim 13,wherein the engagement rate increases when the participant is associatedwith the set of terms that satisfies predetermined frequencies ofoccurrences.
 15. A non-transitory computer-readable medium comprisinginstructions stored therein, which when executed by a processor, causethe computer to perform operations comprising: receiving contents of acorrespondence, the contents comprising at least one of audio data, textdata, and presentation data; generating a textual format of the contentsof the correspondence; associating terms included in the textual formatof the contents with participants of the correspondence and timestamps;determining an engagement rate of each of the participants of thecorrespondence based on associating the terms with the participants andthe timestamps; determining frequencies of occurrences for the termsincluded in the textual format of the contents; identifying a focuspoint of the correspondence based on the determined frequencies ofoccurrences for the terms; and providing for display a summary of thecorrespondence, wherein the summary comprises the focus point of thecorrespondence, the engagement rate for each of the participants of thecorrespondence, and a time duration over which the correspondence occur.16. The non-transitory computer-readable medium of claim 15, wherein theoperations further comprise: providing for display a notification whenone or more terms of the terms included in the textual format areidentified as satisfying a threshold frequency of occurrences.
 17. Thenon-transitory computer-readable medium of claim 15, wherein the focuspoint is determined based on a set of terms that satisfies predeterminedfrequencies of occurrences.
 18. The non-transitory computer-readablestorage medium of claim 17, wherein the engagement rate increases whenthe participant is associated with the set of terms that satisfiespredetermined frequencies of occurrences.
 19. The non-transitorycomputer-readable storage medium of claim 15, wherein the operationsfurther comprise: determining a trending term based on the frequenciesof occurrences.
 20. The non-transitory computer-readable storage mediumof claim 19, wherein the trending term is a first term having a highestfrequency of occurrences, and wherein the trending term is furtherdetermined based on the frequencies of occurrences over a predeterminedperiod of time.